package com.leonzx.base.dao.system;

import com.leonzx.base.entity.system.Menu;
import com.leonzx.base.utils.MyMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * @Author:张勇
 * @Description:
 * @Date: 2018-06-11 15:37
 */
@Repository
public interface MenuDAO extends MyMapper<Menu> {

    List<Menu> findMenuByUserIdAndType(@Param("userId") String userId, @Param("type") Integer type, @Param("state") Integer state, @Param("nowDate") Date nowDate);

    List<Menu> findMenuByUserIdAndTypeAndParentId(@Param("userId") String userId, @Param("type") Integer type,
                                                  @Param("parentId") String parentId, @Param("state") Integer state, @Param("nowDate") Date nowDate);

    List<Menu> selectByUserIdFromUserMenu(@Param("myId") String myId,@Param("userId") String userId);

    List<Menu> findMenuByUserId(@Param("userId") String userId);

    List<Menu> findTempMenuByUserIdAndState(@Param("userId") String userId, @Param("state") Integer state);

    List findMenuByRoleIdAndState(@Param("roleId") String roleId, @Param("state") Integer state);

    List<Menu> findMenuByParentIdAndIdsAndState(@Param("pId") String pId, @Param("menuIds") List<String> menuIds, @Param("state") Integer state);

    List<Menu> findRootMenuByIdsAndState(@Param("menuIds") List<String> menuIds, @Param("state") Integer state);
}
